package io.renren.modules.tms.dao;

import io.renren.datasource.annotation.DataSource;
import io.renren.modules.job.entity.AlreadySend;
import io.renren.modules.job.entity.LimitationLog;
import io.renren.modules.job.entity.LocationLimit;
import io.renren.modules.tms.entity.Capacity;
import io.renren.modules.tms.entity.Carrier;
import io.renren.modules.tms.entity.Driver;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface TMSMapper {


    void updateShipStartTime(String value, String id);

    void updateShipEventStartTime(String value, String id);

    void updateShipEventStartTemp(String value, String id);

    void updateShipEndTime(String value, String id);

    void updateShipEventEndTime(String value, String id);

    void updateOrderEndTime(String value, String id);

    void updateOrderStartTemp(String value, String id);

    void updateShipEventEndTemp(String value, String id);

    void updateOrderEndTemp(String value, String id);

    Driver selectDriver(String driver, String cardNo);

    void updateDriver(Integer driverId, String yundanId);

    void updateCarNo(String carNo, String yundanId);

    Carrier selectCarrier(String carrierNo, String carrierName);

    void updateCarrier(Integer carrierId, String yundanId);

    void resetShipEventStartTemp(String id);

    void resetOrderStartTemp(String id);

    void resetShipEventEndTemp(String id);

    void resetOrderEndTemp(String id);

    void updateGenerateDate(String yundanId, String dingdanId, String insertTime);

    List<Capacity> selectIncubator(String incubatorNo, String incubatorName);

    void updateIncubator(Integer incubatorId, String yundanId);

    int selectShipEvent(String yunDanId, String eventType);

    @DataSource("tms")
    List<LimitationLog> selectLimitation(String startTime, String endTime);

    @DataSource("tms")
    List<LocationLimit> selectLocationLimit();

    @DataSource("tms")
    List<AlreadySend> selectAlreadySendList();

    @DataSource("tms")
    void insertAlreadySend(LimitationLog limitationLog);

}
